package com.homework.ch10;

/**
 * @author yuxi
 * @version 1.0
 * @date 2025/10/11
 * @Description:
 */
/*
11.编写程序，使用多线程实现龟兔赛跑游戏。
A) 可以使用随机数取得0~1之间的随机数模拟比赛进程
B) 如果随机数在0~0.3之间代表兔子开始跑,每次跑2米。如果随机数在0.3~1之间代表乌龟开始跑，每次跑1米
C) 总距离为100米，先跑完100米者为胜利者，输出赛跑过程及谁取得冠军
* */

class Rabbit{
     public int walk;
}
class Tortoise{
    public int walk;
}
public class Test2 {
    public static void main(String[] args) {
        Rabbit rabbit=new Rabbit();
        Tortoise tortoise=new Tortoise();

        while(rabbit.walk<100&&tortoise.walk<100){
            double r=Math.random();
            if(r<0.3){
                new Thread(){
                    @Override
                    public void run(){
                        rabbit.walk+=2;
                        System.out.println("兔子走："+rabbit.walk);
                    }
                }.start();
                try {
                    Thread.sleep(100);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
            }else{
                new Thread(){
                    @Override
                    public void run(){
                        tortoise.walk+=1;
                        System.out.println("乌龟走："+tortoise.walk);
                    }
                }.start();
                try {
                    Thread.sleep(100);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
            }
        }
        if(tortoise.walk>=100){
            System.out.println("乌龟胜利!");
        }else{
            System.out.println("兔子胜利！");
        }
    }
}
